During the boot process of many computer systems, the firmware or operating system spends time discovering the amount of memory, configuring memory, walking I/O busses to discover devices (LAN, PCI, SCSI, I2C, etc.), configuring devices, and discovering and configuring the machines topology. Unfortunately, these tasks may take a long time since the firmware or operating system must instruct the computer to probe many addresses and compare many of the results against a relatively large database of device characteristics just to complete the discovery portions of these tasks.
The length of time these tasks take impacts the overall length of time it takes to boot. Slow boot times may aggravate users and increase the time upgrades requiring a reboot take to complete. Slow boot times may also give a user the impression that the computer system is slow or is of inferior speed.
Accordingly, there is a need in the art for methods and apparatus that reduce the boot times of computer systems.